﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bpms.Entity
{
    public enum OrganizationType
    {
        部门 = 0,
        团队
    }

    /// <summary>
    /// 组织（部门、团队）实体类
    /// </summary>
    public class OrganizationInfo
    {
        private int _organizationId = 0;                // 组织ID（部门ID、团队ID）
        private int _parentId = 0;                      // 上级组织ID
        private string _name = string.Empty;            // 组织名称（部门名称、组织名称）
        private OrganizationType _type;                 // 组织类型（0：部门，1：团队）
        private string _remark = string.Empty;          // 备注
        private bool _is_delete = false;                // 是否删除（false：未删除，true：已删除）

        private IList<ContactInfo> _organization_contacts;   // 为该部门分配的联系人

        /// <summary>
        /// 标识ID（部门ID、团队ID）
        /// </summary>
        public int OrganizationID
        {
            get
            {
                return _organizationId;
            }
            set 
            {
                _organizationId = value;
            }
        }

        /// <summary>
        /// 上级组织ID
        /// </summary>
        public int ParentID
        {
            get
            {
                return _parentId;
            }
            set
            {
                _parentId = value;
            }
        }

        /// <summary>
        /// 组织名称（部门名称、组织名称）
        /// </summary>
        public string Name
        {
            get
            {
                return _name;
            }
            set 
            {
                _name = value;
            }
        }

        /// <summary>
        /// 组织类型（0：部门，1：团队）
        /// </summary>
        public OrganizationType Type
        {
            get
            {
                return _type;
            }
            set
            {
                _type = value;
            }
        }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark
        {
            get
            {
                return _remark;
            }
            set
            {
                _remark = value;
            }
        }

        /// <summary>
        /// 是否删除（false：未删除，true：已删除）
        /// </summary>
        public bool IsDelete
        {
            get
            {
                return _is_delete;
            }
            set
            {
                _is_delete = value;
            }
        }

        /// <summary>
        /// 为该部门分配的联系人
        /// </summary>
        public IList<ContactInfo> OrganizationContacts
        {
            get
            {
                return _organization_contacts;
            }
            set
            {
                _organization_contacts = value;
            }
        }
    }
}
